<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		单例设计模式：每个模块都是独立个体，不会相互影响
		<script>
			// var obj={
			// 	name:"lili",
			// 	age:21,
			// 	job:"CEO"
			// }
			
			// var obj2={
			// 	name:"lisa",
			// 	age:22,
			// 	job:"CEO"
			// }
			
	        
			// console.log(obj,obj2);
			
			//高级单例设计模式
			
			//头部信息的js模块
			var header=(function(){
				//随意存放自己想要使用的方法和属性
				function show(){
					console.log("头部信息");
				}
				var numa=10;
				
				//闭包：函数里导出一个引用类型的变量，被外界所使用，导致本身得不到释放
				//保护 保存
				return { //想要外界用谁就把谁暴露出去   
					show,
					numa
				}
			})()
		
			
			//导航信息的js模块
			var nav=(function(){
				//...
				function show(){
					console.log("导航信息");
				}
				var numa=100;
				return {
					show,
					numa
				}
			})()
			
			//内容信息的js模块
			var con=(function(){
				//...
				function show(){
					console.log("内容信息");
				}
				var numa=200;
				return {
					show,
					numa
				}
			})()
			
			console.log(header.show());
			console.log(nav.show());
			console.log(con.show());
			
			console.log(header.numa);
			console.log(nav.numa);
			console.log(con.numa);
			
		</script>
	</body>
</html>
